package Persistencia;


import java.util.ArrayList;

import Dominio.ApuestaUsuarioData;
import Dominio.PerfilData;
import Dominio.ApuestaData;

interface InterfazFachadaPers {

	public void createUser(PerfilData user) throws PersistenciaException;

	public PerfilData getUser(String nick) throws PersistenciaException;
	
	public boolean updateUser(PerfilData perfil) throws PersistenciaException;
	
	public boolean deleteUser(PerfilData perfil) throws PersistenciaException;

	//El trabajador crea una nueva apuesta
	public void createBet(ApuestaData bet) throws PersistenciaException;
	
	//Obtener todas las apuestas que no han finalizado ordenadas por fecha
	public ArrayList<ApuestaData> readAllBet() throws PersistenciaException;
	
	//Obtener una apuesta concreta
	public ApuestaData readBet(int id) throws PersistenciaException;
	
	//Actualizar apuesta(trabajador)
	public boolean updateBet(ApuestaData bet) throws PersistenciaException;
	
	//Borrar apuesta(trabajador)
	public boolean deleteBet(ApuestaData bet) throws PersistenciaException;
	
	//El usuario realiza una apuesta
	public void createUserBet(ApuestaUsuarioData user)throws PersistenciaException;
	
	//Obtener las apuestas que ha realizado un usuario(filtro: 0- todas 1- finalizadas, 2- no fin)
	public ArrayList<ApuestaUsuarioData> readUserBet(PerfilData user, int filtro) throws PersistenciaException;
	
	//Obtener las apuestaUsuario de los ganadores de la apuesta
	public ArrayList<ApuestaUsuarioData> readWiners(int id, char marca) throws PersistenciaException;

}
